define(['jquery','utils'],($)=>{
    class Header{
        constructor(){
            this.loadHTML().then(()=>{
                this.calcCartTotal()
                this.search()
            })
        }

        loadHTML () {
            // 在这里把方法封装成一个promise，这样就可以在构造函数里处理加载成功之后的逻辑，来调用其他方法
            return new Promise(resolve => {
                $('header').load('/html/modules/header.html', resolve)
            })
        }

        calcCartTotal () {
            // 计算购物车总数量
            let count = 0
            let cart = localStorage.getItem('cart')
            if (cart) {
                cart = JSON.parse(cart)
                count = cart.reduce((total, shop) => total + shop.count, 0)
            }
            $('#shopnum').html(count)
            $('#cart span').html(count)
        }
        search(){
            $('#input_seach').on('keyup',function(){
                console.log($(this).val())
                var val=$(this).val();
                $.getJSON(`https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd${val}&cb=?`),
                resp=>{
                    console.log(resp);
                    const{s}=resp;
                    let searchList=template('search_list_li',{s})
                    $("#search_list_li").html(searchList)
                }
            })
        }
    }
    return new Header()
})
